package com.carleasoft.mps.cms.business.message.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.cms.business.message.bean.entity.MessageNote;
import com.carleasoft.mps.cms.business.message.bean.entity.MessageReceive;
import com.carleasoft.mps.cms.business.message.bean.po.*;
import com.carleasoft.mps.cms.business.message.bean.vo.MessageNoteDetailVo;
import com.carleasoft.mps.cms.business.message.bean.vo.MessageNoteVo;
import com.carleasoft.mps.cms.business.message.bean.vo.ResponseReceivedDetailVo;
import com.carleasoft.mps.cms.business.message.bean.vo.ResponseReceivedVo;
import com.carleasoft.mps.core.result.R;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.HashMap;
import java.util.List;

/**
 * <p>
 * 留言基础表 服务类
 * </p>
 *
 * @author fan
 * @since 2023-05-17
 */
public interface MessageNoteService extends IService<MessageNote> {
    /**
     * 留言-添加留言
     */
    boolean massageNoteAdd(MessageNoteAddPo messageNoteAddPo);
    /**
     * 留言-删除
     */
    boolean massageNoteDelete(MessageNote messageNote);
    /**
     * 留言-分页查询
     */
    Page<MessageNoteVo> pageQuery(MessageNotePageQueryPo messageNotePageQueryPo);
    /**
     * 留言-分页查询(不用登录)
     */
    Page<MessageNoteVo> pageQuery1(MessageNotePageQueryPo messageNotePageQueryPo);
    /**
     * 留言-详情
     */
    MessageNoteDetailVo massageNoteDetail(MessageNote messageNote);
    /**
     * 留言-处理留言
     */
    boolean massageNoteDeal(NoteDealPo noteDealPo);
    /**
     * 留言-留言委派
     */
    boolean massageNoteAppoint(MassageNoteAppointPo massageNoteAppointPo);
    /**
     * 我的信箱-收到的回复
     */
    Page<ResponseReceivedVo> responseReceived( ResponseReceivedPagePo responseReceivedPagePo);
    /**
     * 我的信箱-收到的回复的详情
     */
    ResponseReceivedDetailVo responseReceivedDetail(MessageReceive messageReceive);
    /**
     * 工作台-留言待处理
     */
    Page<MessageNote> massageNoteWait(MassageNoteWaitPo massageNoteWaitPo);
    /**
     * 个人中心-留言
     */
    List<MessageNoteVo> queryList( MessagePersonalCenterQueryListPo messagePersonalCenterQueryListPo);
    /**
     * 统计分析-心理和法律援助
     */
    HashMap<String,Object> statisticalAnalysisMessageNote(StatisticalAnalysisMessageNotePo statisticalAnalysisMessageNotePo);

}
